package dimensional.traveler.client.services;

import java.util.Collection;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

import dimensional.traveler.shared.model.Mission;
import dimensional.traveler.shared.model.missionSequence.MissionSequence;

@RemoteServiceRelativePath("careers")
public interface CareerService extends RemoteService {

	/**
	 * Starts the first mission
	 */
	MissionSequence startNewCareer(String userName);
	
	MissionSequence startMission(String userName, String missionId);
	
	Collection<Mission> getNewMissions(String userName);
	
	Collection<Mission> getReplayableMissions(String userName);
	
	void saveProgress(String userName, String saveGameName);
	
	void loadLastGame(String userName);
	
	void loadGame(String userName, String saveGameName);
	
	MissionSequence setCharacterClassId(String userName, String characterClassId);
	
	MissionSequence getNextMissionSequence(String userName);
	
}
